package leetcode_1000;

import helpclass.TreeNode;

/**
 *@author 周杨
 *RangeSumOfBST_938 计算一个BST里 值在LR范围内数的总和
 *describe:常规递归 AC 85%
 *2018年11月23日 下午7:53:15
 */
public class RangeSumOfBST_938 {
	int res;
	public int rangeSumBST(TreeNode root, int L, int R) {
        this.res=0;
        help(root,L,R);
        return this.res;
    }
	
	public void help(TreeNode root,int L,int R) {
		if(root==null)
			return ;
		if(root.val<=R&&root.val>=L) {
			this.res+=root.val;
			help(root.left,L,R);
			help(root.right,L,R);
		}
		else if(root.val>R) {
			help(root.left,L,R);
		}
		else {
			help(root.right,L,R);
		}
	}
}
